select count(*)とselect count(列名)の挙動の違い
code:sql
create table #T(id int, name nvarchar(8), weight int); insert into #T values (1, 'Ken', 70); insert into #T values (2, 'Misako', 42); insert into #T values (3, 'Kyoko', 43); insert into #T values (null, null, null); insert into #T values (5, 'Ken', 70); insert into #T values (6, 'Riki', null); code:sql
table:result
id name weight
1 Ken 70
2 Misako 42
3 Kyoko 43
« NULL » « NULL » « NULL »
5 Ken 70
6 Riki « NULL »
COUNT(*)の件数確認
code:sql
table:result
__COLUMN1
6
COUNT(列名)の件数確認
code:sql
select count(name) from #T; table:result
__COLUMN1
5
code:sql
select count(distinct name) from #T; table:result
__COLUMN1
4
code:sql
select avg(weight) from #T; table:result
__COLUMN1
56
参考
特定の列についての情報を使用しない
各行は1行としてカウントされ、NULL値を保持している行も含まれる